iT邦幫忙

3

[ASP.NET]解決GridView column.visible=false,取不到值

  • 分享至 

  • xImage
  •  

chk2 column.visible=false
讀值時,讀到空白
string xxx = GridView5.Rows[0].Cells[2].Text .ToString();

        <asp:GridView ID="GridView5" runat="server"   AutoGenerateColumns="False"  >
        <Columns>
            <asp:BoundField DataField="xxx" HeaderText="xxx" SortExpression="xxx" />
            <asp:BoundField DataField="chk" HeaderText="chk" SortExpression="chk"/>
            <asp:BoundField DataField="chk2" HeaderText="chk2" SortExpression="chk2" Visible="False"/> 
        </Columns>
    </asp:GridView>

改成以下這樣,就可以讀到了

聽說是因為visible=false,col就沒有被bind.
所以要等bind之後,再把它visible

     <asp:GridView ID="GridView5" runat="server"   AutoGenerateColumns="False"  >
     <Columns>
         <asp:BoundField DataField="xxx" HeaderText="xxx" SortExpression="xxx" />
         <asp:BoundField DataField="chk" HeaderText="chk" SortExpression="chk"/>
         <asp:BoundField DataField="chk2" HeaderText="chk2" SortExpression="chk2"/> 
     </Columns>
 </asp:GridView>

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header || e.Row.RowType == DataControlRowType.DataRow)
    {
        //要隱藏的欄位    
        e.Row.Cells[2].Visible = false; 
    } 
}

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
神Q超人
iT邦研究生 5 級 ‧ 2018-08-26 18:52:56

脫離asp.net有點久了XD
不過謝謝大大分享!

我要留言

立即登入留言